home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / hack / 1 / makefile < prev    next >
Encoding:
Makefile  |  1993-06-21  |  6.1 KB  |  200 lines

  1. # Hack or Quest Makefile.
  2. # the leading 'def.' and 'hack.' were removed to make this go onto the
  3. # cdrom.
  4. # -jack; walnut creek cdrom; 1993
  5.  
  6. # on some systems the termcap library is in -ltermcap
  7. TERMLIB = -ltermlib
  8.  
  9.  
  10. # make hack
  11. GAME = hack
  12. GAMEDIR = /usr/games/lib/hackdir
  13. CFLAGS = -g
  14. HACKCSRC = hack.Decl.c\
  15.     hack.apply.c hack.bones.c hack.c hack.cmd.c hack.do.c\
  16.     hack.do_name.c hack.do_wear.c hack.dog.c hack.eat.c hack.end.c\
  17.     hack.engrave.c hack.fight.c hack.invent.c hack.ioctl.c\
  18.     hack.lev.c hack.main.c hack.makemon.c hack.mhitu.c\
  19.     hack.mklev.c hack.mkmaze.c hack.mkobj.c hack.mkshop.c\
  20.     hack.mon.c hack.monst.c hack.o_init.c hack.objnam.c\
  21.     hack.options.c hack.pager.c hack.potion.c hack.pri.c\
  22.     hack.read.c hack.rip.c hack.rumors.c hack.save.c\
  23.     hack.search.c hack.shk.c hack.shknam.c hack.steal.c\
  24.     hack.termcap.c hack.timeout.c hack.topl.c\
  25.     hack.track.c hack.trap.c hack.tty.c hack.unix.c\
  26.     hack.u_init.c hack.vault.c\
  27.     hack.wield.c hack.wizard.c hack.worm.c hack.worn.c hack.zap.c\
  28.     hack.version.c rnd.c alloc.c
  29.  
  30. CSOURCES = $(HACKCSRC) makedefs.c
  31.  
  32. HSOURCES = hack.h hack.mfndpos.h config.h\
  33.     def.edog.h def.eshk.h def.flag.h def.func_tab.h def.gold.h\
  34.     def.mkroom.h\
  35.     def.monst.h def.obj.h def.objclass.h def.objects.h\
  36.     def.permonst.h def.rm.h def.trap.h def.wseg.h
  37.  
  38. SOURCES = $(CSOURCES) $(HSOURCES)
  39.  
  40. AUX = data help hh rumors hack.6 hack.sh
  41.  
  42. DISTR = $(SOURCES) $(AUX) READ_ME Makefile date.h hack.onames.h
  43.  
  44. HOBJ = hack.Decl.o hack.apply.o hack.bones.o hack.o hack.cmd.o hack.do.o\
  45.     hack.do_name.o hack.do_wear.o hack.dog.o hack.eat.o hack.end.o\
  46.     hack.engrave.o hack.fight.o hack.invent.o hack.ioctl.o\
  47.     hack.lev.o hack.main.o hack.makemon.o hack.mhitu.o hack.mklev.o\
  48.     hack.mkmaze.o hack.mkobj.o hack.mkshop.o hack.mon.o\
  49.     hack.monst.o hack.o_init.o hack.objnam.o hack.options.o\
  50.     hack.pager.o hack.potion.o hack.pri.o\
  51.     hack.read.o hack.rip.o hack.rumors.o hack.save.o\
  52.     hack.search.o hack.shk.o hack.shknam.o hack.steal.o\
  53.     hack.termcap.o hack.timeout.o hack.topl.o\
  54.     hack.track.o hack.trap.o\
  55.     hack.tty.o hack.unix.o hack.u_init.o hack.vault.o hack.wield.o\
  56.     hack.wizard.o hack.worm.o hack.worn.o hack.zap.o\
  57.     hack.version.o rnd.o alloc.o
  58.  
  59. $(GAME):    $(HOBJ) Makefile
  60.     @echo "Loading ..."
  61.     @ld -X -o $(GAME) /lib/crt0.o $(HOBJ) $(TERMLIB) -lc
  62.  
  63. all:    $(GAME) lint
  64.     @echo "Done."
  65.  
  66. makedefs:    makedefs.c
  67.     cc -o makedefs makedefs.c
  68.  
  69.  
  70. hack.onames.h:    makedefs def.objects.h
  71.     makedefs > hack.onames.h
  72.  
  73. lint:
  74. # lint cannot have -p here because (i) capitals are meaningful:
  75. # [Ww]izard, (ii) identifiers may coincide in the first six places:
  76. # doweararm() versus dowearring().
  77. # _flsbuf comes from <stdio.h>, a bug in the system libraries.
  78.     @echo lint -axbh -DLINT ...
  79.     @lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d'
  80.  
  81.  
  82. diff:
  83.     @- for i in $(SOURCES) $(AUX) ; do \
  84.         cmp -s $$i $D/$$i || \
  85.         ( echo diff $D/$$i $$i ; diff $D/$$i $$i ; echo ) ; done
  86.  
  87. distribution: Makefile
  88.     @- for i in READ_ME $(SOURCES) $(AUX) Makefile date.h hack.onames.h\
  89.         ; do \
  90.         cmp -s $$i $D/$$i || \
  91.         ( echo cp $$i $D ; cp $$i $D ) ; done
  92. # the distribution directory also contains the empty files perm and record.
  93.  
  94.  
  95. install:
  96.     rm -f $(GAMEDIR)/$(GAME)
  97.     cp $(GAME) $(GAMEDIR)/$(GAME)
  98.     chmod 04511 $(GAMEDIR)/$(GAME)
  99.     rm -f $(GAMEDIR)/bones*
  100. #    cp hack.6 /usr/man/man6
  101.  
  102. clean:
  103.     rm -f *.o
  104.  
  105.  
  106. depend:
  107. # For the moment we are lazy and disregard /usr/include files because
  108. # the sources contain them conditionally. Perhaps we should use cpp.
  109. #        ( /bin/grep '^#[     ]*include' $$i | sed -n \
  110. #            -e 's,<\(.*\)>,"/usr/include/\1",' \
  111. #
  112.     for i in ${CSOURCES}; do \
  113.         ( /bin/grep '^#[     ]*include[     ]*"' $$i | sed -n \
  114.             -e 's/[^"]*"\([^"]*\)".*/\1/' \
  115.             -e H -e '$$g' -e '$$s/\n/ /g' \
  116.             -e '$$s/.*/'$$i': &/' -e '$$s/\.c:/.o:/p' \
  117.             >> makedep); done
  118.     for i in ${HSOURCES}; do \
  119.         ( /bin/grep '^#[     ]*include[     ]*"' $$i | sed -n \
  120.             -e 's/[^"]*"\([^"]*\)".*/\1/' \
  121.             -e H -e '$$g' -e '$$s/\n/ /g' \
  122.             -e '$$s/.*/'$$i': &\
  123.                 touch '$$i/p \
  124.             >> makedep); done
  125.     @echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
  126.     @echo '$$r makedep' >>eddep
  127.     @echo 'w' >>eddep
  128.     @cp Makefile Makefile.bak
  129.     ed - Makefile < eddep
  130.     @rm -f eddep makedep
  131.     @echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
  132.     @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
  133.     @echo '# see make depend above' >> Makefile
  134.     - diff Makefile Makefile.bak
  135.     @rm -f Makefile.bak
  136.  
  137. # DO NOT DELETE THIS LINE
  138.  
  139. hack.Decl.o:  hack.h def.mkroom.h
  140. hack.apply.o:  hack.h def.edog.h def.mkroom.h
  141. hack.bones.o:  hack.h
  142. hack.o:  hack.h
  143. hack.cmd.o:  hack.h def.func_tab.h
  144. hack.do.o:  hack.h
  145. hack.do_name.o:  hack.h
  146. hack.do_wear.o:  hack.h
  147. hack.dog.o:  hack.h hack.mfndpos.h def.edog.h def.mkroom.h
  148. hack.eat.o:  hack.h
  149. hack.end.o:  hack.h
  150. hack.engrave.o:  hack.h
  151. hack.fight.o:  hack.h
  152. hack.invent.o:  hack.h def.wseg.h
  153. hack.ioctl.o:  config.h
  154. hack.lev.o:  hack.h def.mkroom.h def.wseg.h
  155. hack.main.o:  hack.h
  156. hack.makemon.o:  hack.h
  157. hack.mhitu.o:  hack.h
  158. hack.mklev.o:  hack.h def.mkroom.h
  159. hack.mkmaze.o:  hack.h def.mkroom.h
  160. hack.mkobj.o:  hack.h
  161. hack.mkshop.o:  hack.h def.mkroom.h def.eshk.h
  162. hack.mon.o:  hack.h hack.mfndpos.h
  163. hack.monst.o:  hack.h def.eshk.h
  164. hack.o_init.o:  config.h def.objects.h hack.onames.h
  165. hack.objnam.o:  hack.h
  166. hack.options.o:  config.h hack.h
  167. hack.pager.o:  hack.h
  168. hack.potion.o:  hack.h
  169. hack.pri.o:  hack.h def.wseg.h
  170. hack.read.o:  hack.h
  171. hack.rip.o:  hack.h
  172. hack.rumors.o:  hack.h
  173. hack.save.o:  hack.h
  174. hack.search.o:  hack.h
  175. hack.shk.o:  hack.h hack.mfndpos.h def.mkroom.h def.eshk.h
  176. hack.shknam.o:  hack.h
  177. hack.steal.o:  hack.h
  178. hack.termcap.o:  config.h def.flag.h
  179. hack.timeout.o:  hack.h
  180. hack.topl.o:  hack.h
  181. hack.track.o:  hack.h
  182. hack.trap.o:  hack.h def.mkroom.h
  183. hack.tty.o:  hack.h
  184. hack.unix.o:  hack.h def.mkroom.h
  185. hack.u_init.o:  hack.h
  186. hack.vault.o:  hack.h def.mkroom.h
  187. hack.wield.o:  hack.h
  188. hack.wizard.o:  hack.h
  189. hack.worm.o:  hack.h def.wseg.h
  190. hack.worn.o:  hack.h
  191. hack.zap.o:  hack.h
  192. hack.version.o:  date.h
  193. hack.h:  config.h def.objclass.h def.monst.h def.gold.h def.trap.h def.obj.h def.flag.h def.rm.h def.permonst.h hack.onames.h
  194.             touch hack.h
  195. def.objects.h:  config.h def.objclass.h
  196.             touch def.objects.h
  197. # DEPENDENCIES MUST END AT END OF FILE
  198. # IF YOU PUT STUFF HERE IT WILL GO AWAY
  199. # see make depend above
  200.